package com.rightsidetech.activity.mapper;

import com.rightsidetech.activity.dto.request.gift.ActGiftCountPageReq;
import com.rightsidetech.activity.dto.request.gift.ActGiftPageReq;
import com.rightsidetech.activity.dto.response.gift.ActGiftCountPageResp;
import com.rightsidetech.activity.dto.response.gift.ActGiftPageResp;
import com.rightsidetech.activity.dto.response.gift.ActGiftUserAppResp;
import com.rightsidetech.activity.entity.ActActivityNum;
import com.rightsidetech.activity.entity.ActGiftActivity;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ActGiftActivityMapper {
    int deleteByPrimaryKey(Long id);

    int insert(ActGiftActivity record);

    int insertSelective(ActGiftActivity record);

    ActGiftActivity selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(ActGiftActivity record);

    int updateByPrimaryKey(ActGiftActivity record);

    Long selectCountByName(String eventName);

    List<ActGiftPageResp> selectPageList(ActGiftPageReq req);

    List<ActGiftUserAppResp> selectGiftIdAndNum(@Param("typeId") Long typeId,@Param("storeId") Long storeId);

    Integer selectCountByTypeIdAndGiftId(@Param("typeId")Long typeId,@Param("giftId") Long giftId,@Param("storeId") Long storeId);

    Integer selectCountByTypeId(@Param("typeId") Long typeId,@Param("storeId") Long storeId);

    ActActivityNum selectActNumId(@Param("storeId") Long storeId, @Param("giftId") Long giftId, @Param("typeId") Long typeId);

    List<ActGiftCountPageResp> selectCountPageList(ActGiftCountPageReq req);

    void updateStatus();



}